package com.hfzy.ihk.facade.ivr.vo;


import org.freeswitch.esl.client.transport.event.EslEvent;

public class FreeswitchCallState extends CallRecordBaseEntity {

    public FreeswitchCallState(EslEvent event) {
        this.event = event;
    }

    /**
     *Freeswitch返回的状态
     */
    private EslEvent event;
    /**
     * 状态产生的时间  2017-06-01 10:00:00
     */
    private String status_time;


    /**
     * 呼叫ID 100001616500^100001871490
     */
    private String call_id;

    /**
     * 通话开始时间,未接通则为空 2017-06-01 10:00:00
     */
    private String start_time;

    /**
     * 通话结束时间，未接通则为空 2017-06-01 10:00:00
     */
    private String end_time;

    /**
     * 通话时长，未接通为0  10
     */
    private String duration;

    /**
     * 通话开始时间,未接通则为空 2017-06-01 10:00:00
     */
    private String a_start_time;

    /**
     * 通话结束时间，未接通则为空 2017-06-01 10:00:00
     */
    private String a_end_time;

    /**
     * 通话时长，未接通为0  10
     */
    private String a_duration;
    /**
     * 呼叫结果状态码 :200010
     */
    private String status_code;

    /**
     * 结果描述: 执行完成
     */
    private String status_msg;

    /**
     * 扩展字段回传，将调用api时传入的字段返回,就是sessionId
     */
    private String out_id;

    /**
     * DTMF按键 （*无用）
     */
    //private String dtmf;

    /**
     * 话单类型 :voice/asr
     */
    //private String voice_type;

    //自己定义的消息类型，是中间状态消息还是话单消息 VoiceCallReport：中间状态， VoiceReport：话单
    private String msgType;

    private String caller;

    private String callee;

    private String destinationNumber;

    private String caller_show_num;

    private String recordFileUrl;

    private String sipToUser;


    public String getSipToUser() {
        return sipToUser;
    }

    public void setSipToUser(String sipToUser) {
        this.sipToUser = sipToUser;
    }

    @Override
    public String getSessionId(){
        return out_id;
    }


    public String getCaller() {
        return caller;
    }

    public void setCaller(String caller) {
        this.caller = caller;
    }

    public String getCallee() {
        return callee;
    }

    public void setCallee(String callee) {
        this.callee = callee;
    }

    public String getCaller_show_num() {
        return caller_show_num;
    }

    public void setCaller_show_num(String caller_show_num) {
        this.caller_show_num = caller_show_num;
    }

    public String getStatus_time() {
        return status_time;
    }

    public void setStatus_time(String status_time) {
        this.status_time = status_time;
    }

    public String getCall_id() {
        return call_id;
    }

    public void setCall_id(String call_id) {
        this.call_id = call_id;
    }

    public String getStart_time() {
        return start_time;
    }

    public void setStart_time(String start_time) {
        this.start_time = start_time;
    }

    public String getEnd_time() {
        return end_time;
    }

    public void setEnd_time(String end_time) {
        this.end_time = end_time;
    }

    public String getDuration() {
        return duration;
    }

    public void setDuration(String duration) {
        this.duration = duration;
    }

    public String getStatus_code() {
        return status_code;
    }

    public void setStatus_code(String status_code) {
        this.status_code = status_code;
    }

    public String getStatus_msg() {
        return status_msg;
    }

    public void setStatus_msg(String status_msg) {
        this.status_msg = status_msg;
    }

    public String getOut_id() {
        return out_id;
    }

    public void setOut_id(String out_id) {
        this.out_id = out_id;
    }

   /* public String getDtmf() {
        return dtmf;
    }

    public void setDtmf(String dtmf) {
        this.dtmf = dtmf;
    }*/

    /*public String getVoice_type() {
        return voice_type;
    }

    public void setVoice_type(String voice_type) {
        this.voice_type = voice_type;
    }*/

    public String getMsgType() {
        return msgType;
    }

    public void setMsgType(String msgType) {
        this.msgType = msgType;
    }

    public String getA_start_time() {
        return a_start_time;
    }

    public void setA_start_time(String a_start_time) {
        this.a_start_time = a_start_time;
    }

    public String getA_end_time() {
        return a_end_time;
    }

    public void setA_end_time(String a_end_time) {
        this.a_end_time = a_end_time;
    }

    public String getA_duration() {
        return a_duration;
    }

    public void setA_duration(String a_duration) {
        this.a_duration = a_duration;
    }

    public EslEvent getEvent() {
        return event;
    }

    public void setEvent(EslEvent event) {
        this.event = event;
    }

    public String getDestinationNumber() {
        return destinationNumber;
    }

    public void setDestinationNumber(String destinationNumber) {
        this.destinationNumber = destinationNumber;
    }

    public String getRecordFileUrl() {
        return recordFileUrl;
    }

    public void setRecordFileUrl(String recordFileUrl) {
        this.recordFileUrl = recordFileUrl;
    }
}
